<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0) on Thu May 15 17:17:32 EDT 2008 -->
<TITLE>
SerialSerialKeyCreator (Oracle - Berkeley DB Java API)
</TITLE>

<META NAME="keywords" CONTENT="com.sleepycat.bind.serial.SerialSerialKeyCreator class">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../style.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="SerialSerialKeyCreator (Oracle - Berkeley DB Java API)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SerialSerialKeyCreator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<b>Berkeley DB</b><br><font size="-1"> version 4.7.25</font></EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../com/sleepycat/bind/serial/SerialSerialBinding.html" title="class in com.sleepycat.bind.serial"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../com/sleepycat/bind/serial/StoredClassCatalog.html" title="class in com.sleepycat.bind.serial"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?com/sleepycat/bind/serial/SerialSerialKeyCreator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="SerialSerialKeyCreator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
com.sleepycat.bind.serial</FONT>
<BR>
Class SerialSerialKeyCreator</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>com.sleepycat.bind.serial.SerialSerialKeyCreator</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../com/sleepycat/db/ForeignKeyNullifier.html" title="interface in com.sleepycat.db">ForeignKeyNullifier</A>, <A HREF="../../../../com/sleepycat/db/SecondaryKeyCreator.html" title="interface in com.sleepycat.db">SecondaryKeyCreator</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public abstract class <B>SerialSerialKeyCreator</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../com/sleepycat/db/SecondaryKeyCreator.html" title="interface in com.sleepycat.db">SecondaryKeyCreator</A>, <A HREF="../../../../com/sleepycat/db/ForeignKeyNullifier.html" title="interface in com.sleepycat.db">ForeignKeyNullifier</A></DL>
</PRE>

<P>
A abstract key creator that uses a serial key and a serial data entry.
 This class takes care of serializing and deserializing the key and data
 entry automatically.
 The following abstract method must be implemented by a concrete subclass
 to create the index key using these objects
 <ul>
 <li> <A HREF="../../../../com/sleepycat/bind/serial/SerialSerialKeyCreator.html#createSecondaryKey(java.lang.Object, java.lang.Object)"><CODE>createSecondaryKey(Object,Object)</CODE></A> </li>
 </ul>
 <p>If <A HREF="../../../../com/sleepycat/db/ForeignKeyDeleteAction.html#NULLIFY"><CODE>ForeignKeyDeleteAction.NULLIFY</CODE></A> was
 specified when opening the secondary database, the following method must be
 overridden to nullify the foreign index key.  If NULLIFY was not specified,
 this method need not be overridden.</p>
 <ul>
 <li> <A HREF="../../../../com/sleepycat/bind/serial/SerialSerialKeyCreator.html#nullifyForeignKey(java.lang.Object)"><CODE>nullifyForeignKey(Object)</CODE></A> </li>
 </ul>
<P>

<P>
<HR>

<P>
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial">SerialBinding</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/serial/SerialSerialKeyCreator.html#dataBinding">dataBinding</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial">SerialBinding</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/serial/SerialSerialKeyCreator.html#indexKeyBinding">indexKeyBinding</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial">SerialBinding</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/serial/SerialSerialKeyCreator.html#primaryKeyBinding">primaryKeyBinding</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/serial/SerialSerialKeyCreator.html#SerialSerialKeyCreator(com.sleepycat.bind.serial.ClassCatalog, java.lang.Class, java.lang.Class, java.lang.Class)">SerialSerialKeyCreator</A></B>(<A HREF="../../../../com/sleepycat/bind/serial/ClassCatalog.html" title="interface in com.sleepycat.bind.serial">ClassCatalog</A>&nbsp;classCatalog,
                       <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;primaryKeyClass,
                       <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;dataClass,
                       <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;indexKeyClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a serial-serial key creator.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/serial/SerialSerialKeyCreator.html#SerialSerialKeyCreator(com.sleepycat.bind.serial.SerialBinding, com.sleepycat.bind.serial.SerialBinding, com.sleepycat.bind.serial.SerialBinding)">SerialSerialKeyCreator</A></B>(<A HREF="../../../../com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial">SerialBinding</A>&nbsp;primaryKeyBinding,
                       <A HREF="../../../../com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial">SerialBinding</A>&nbsp;dataBinding,
                       <A HREF="../../../../com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial">SerialBinding</A>&nbsp;indexKeyBinding)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a serial-serial entity binding.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/serial/SerialSerialKeyCreator.html#createSecondaryKey(java.lang.Object, java.lang.Object)">createSecondaryKey</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;primaryKey,
                   <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;data)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates the index key object from primary key and entry objects.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/serial/SerialSerialKeyCreator.html#createSecondaryKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry)">createSecondaryKey</A></B>(<A HREF="../../../../com/sleepycat/db/SecondaryDatabase.html" title="class in com.sleepycat.db">SecondaryDatabase</A>&nbsp;db,
                   <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;primaryKeyEntry,
                   <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;dataEntry,
                   <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;indexKeyEntry)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a secondary key entry, given a primary key and data entry.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/serial/SerialSerialKeyCreator.html#nullifyForeignKey(java.lang.Object)">nullifyForeignKey</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;data)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears the index key in a data object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/serial/SerialSerialKeyCreator.html#nullifyForeignKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry)">nullifyForeignKey</A></B>(<A HREF="../../../../com/sleepycat/db/SecondaryDatabase.html" title="class in com.sleepycat.db">SecondaryDatabase</A>&nbsp;db,
                  <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;dataEntry)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="primaryKeyBinding"><!-- --></A><H3>
primaryKeyBinding</H3>
<PRE>
protected <A HREF="../../../../com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial">SerialBinding</A> <B>primaryKeyBinding</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="dataBinding"><!-- --></A><H3>
dataBinding</H3>
<PRE>
protected <A HREF="../../../../com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial">SerialBinding</A> <B>dataBinding</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="indexKeyBinding"><!-- --></A><H3>
indexKeyBinding</H3>
<PRE>
protected <A HREF="../../../../com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial">SerialBinding</A> <B>indexKeyBinding</B></PRE>
<DL>
<DL>
</DL>
</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="SerialSerialKeyCreator(com.sleepycat.bind.serial.ClassCatalog, java.lang.Class, java.lang.Class, java.lang.Class)"><!-- --></A><H3>
SerialSerialKeyCreator</H3>
<PRE>
public <B>SerialSerialKeyCreator</B>(<A HREF="../../../../com/sleepycat/bind/serial/ClassCatalog.html" title="interface in com.sleepycat.bind.serial">ClassCatalog</A>&nbsp;classCatalog,
                              <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;primaryKeyClass,
                              <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;dataClass,
                              <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;indexKeyClass)</PRE>
<DL>
<DD>Creates a serial-serial key creator.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>classCatalog</CODE> - is the catalog to hold shared class information and
 for a database should be a <A HREF="../../../../com/sleepycat/bind/serial/StoredClassCatalog.html" title="class in com.sleepycat.bind.serial"><CODE>StoredClassCatalog</CODE></A>.<DD><CODE>primaryKeyClass</CODE> - is the primary key base class.<DD><CODE>dataClass</CODE> - is the data base class.<DD><CODE>indexKeyClass</CODE> - is the index key base class.</DL>
</DL>
<HR>

<A NAME="SerialSerialKeyCreator(com.sleepycat.bind.serial.SerialBinding, com.sleepycat.bind.serial.SerialBinding, com.sleepycat.bind.serial.SerialBinding)"><!-- --></A><H3>
SerialSerialKeyCreator</H3>
<PRE>
public <B>SerialSerialKeyCreator</B>(<A HREF="../../../../com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial">SerialBinding</A>&nbsp;primaryKeyBinding,
                              <A HREF="../../../../com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial">SerialBinding</A>&nbsp;dataBinding,
                              <A HREF="../../../../com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial">SerialBinding</A>&nbsp;indexKeyBinding)</PRE>
<DL>
<DD>Creates a serial-serial entity binding.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>primaryKeyBinding</CODE> - is the primary key binding.<DD><CODE>dataBinding</CODE> - is the data binding.<DD><CODE>indexKeyBinding</CODE> - is the index key binding.</DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="createSecondaryKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry)"><!-- --></A><H3>
createSecondaryKey</H3>
<PRE>
public boolean <B>createSecondaryKey</B>(<A HREF="../../../../com/sleepycat/db/SecondaryDatabase.html" title="class in com.sleepycat.db">SecondaryDatabase</A>&nbsp;db,
                                  <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;primaryKeyEntry,
                                  <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;dataEntry,
                                  <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;indexKeyEntry)
                           throws <A HREF="../../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../com/sleepycat/db/SecondaryKeyCreator.html#createSecondaryKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry)">SecondaryKeyCreator</A></CODE></B></DD>
<DD>Creates a secondary key entry, given a primary key and data entry.
    <p>
    A secondary key may be derived from the primary key, primary data, or a
    combination of the primary key and data.  For secondary keys that are
    optional, the key creator method may return false and the key/data pair
    will not be indexed.  To ensure the integrity of a secondary database the
    key creator method must always return the same result for a given set of
    input parameters.
    <p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../com/sleepycat/db/SecondaryKeyCreator.html#createSecondaryKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry)">createSecondaryKey</A></CODE> in interface <CODE><A HREF="../../../../com/sleepycat/db/SecondaryKeyCreator.html" title="interface in com.sleepycat.db">SecondaryKeyCreator</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>db</CODE> - the database to which the secondary key will be added.
    This parameter is passed for informational purposes but is not commonly
    used.
    <p><DD><CODE>primaryKeyEntry</CODE> - the primary key entry.  This parameter must not be modified
    by this method.
    <p><DD><CODE>dataEntry</CODE> - the primary data entry.  This parameter must not be modified
    by this method.
    <p><DD><CODE>indexKeyEntry</CODE> - the secondary key created by this method.
    <p>
<DT><B>Returns:</B><DD>true if a key was created, or false to indicate that the key is
    not present.
    <p>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></CODE> - if an error occurs attempting to create the
    secondary key.</DL>
</DD>
</DL>
<HR>

<A NAME="nullifyForeignKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry)"><!-- --></A><H3>
nullifyForeignKey</H3>
<PRE>
public boolean <B>nullifyForeignKey</B>(<A HREF="../../../../com/sleepycat/db/SecondaryDatabase.html" title="class in com.sleepycat.db">SecondaryDatabase</A>&nbsp;db,
                                 <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;dataEntry)
                          throws <A HREF="../../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../com/sleepycat/db/ForeignKeyNullifier.html#nullifyForeignKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry)">nullifyForeignKey</A></CODE> in interface <CODE><A HREF="../../../../com/sleepycat/db/ForeignKeyNullifier.html" title="interface in com.sleepycat.db">ForeignKeyNullifier</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="createSecondaryKey(java.lang.Object, java.lang.Object)"><!-- --></A><H3>
createSecondaryKey</H3>
<PRE>
public abstract <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>createSecondaryKey</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;primaryKey,
                                          <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;data)</PRE>
<DL>
<DD>Creates the index key object from primary key and entry objects.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>primaryKey</CODE> - is the deserialized source primary key entry, or
 null if no primary key entry is used to construct the index key.<DD><CODE>data</CODE> - is the deserialized source data entry, or null if no
 data entry is used to construct the index key.
<DT><B>Returns:</B><DD>the destination index key object, or null to indicate that
 the key is not present.</DL>
</DD>
</DL>
<HR>

<A NAME="nullifyForeignKey(java.lang.Object)"><!-- --></A><H3>
nullifyForeignKey</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>nullifyForeignKey</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;data)</PRE>
<DL>
<DD>Clears the index key in a data object.

 <p>On entry the data parameter contains the index key to be cleared.  It
 should be changed by this method such that <A HREF="../../../../com/sleepycat/bind/serial/SerialSerialKeyCreator.html#createSecondaryKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry)"><CODE>createSecondaryKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry)</CODE></A>
 will return false.  Other fields in the data object should remain
 unchanged.</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>data</CODE> - is the source and destination data object.
<DT><B>Returns:</B><DD>the destination data object, or null to indicate that the
 key is not present and no change is necessary.  The data returned may
 be the same object passed as the data parameter or a newly created
 object.</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SerialSerialKeyCreator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<b>Berkeley DB</b><br><font size="-1"> version 4.7.25</font></EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../com/sleepycat/bind/serial/SerialSerialBinding.html" title="class in com.sleepycat.bind.serial"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../com/sleepycat/bind/serial/StoredClassCatalog.html" title="class in com.sleepycat.bind.serial"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?com/sleepycat/bind/serial/SerialSerialKeyCreator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="SerialSerialKeyCreator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
<font size=1>Copyright (c) 1996,2008 Oracle.  All rights reserved.</font>
</BODY>
</HTML>
